package org.smallframework.spring.path;

import java.io.IOException;
import java.net.URL;
import java.util.Set;

/**
 * spring-core中的实现
 */
public class SpringClassPathScanningServiceImpl implements ClassPathScanningService {
    @Override
    public Set<URL> getClassResourcesURL(URL rootClasspath, String... scanPackageArr) {
        return SpringClassPathScanning.getClassResources(resource -> {
            try {
                return resource.getURL();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        },rootClasspath, scanPackageArr);
    }

    @Override
    public Set<URL> getResourcesURL(URL rootClasspath, String... locationPatterns) {
        return SpringClassPathScanning.getResources(resource -> {
            try {
                return resource.getURL();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        },rootClasspath, locationPatterns);
    }
}
